Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Μετατροπή string σε integer?

Îåêßíçóå áðü ôï ìÝëïò mdtgr. Τελευταία δημοσίευση από το μέλος Panagiotis Kefalidis στις 03-03-2007, 16:15. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  03-03-2007, 12:58 25805

    Μετατροπή string σε integer?

    Έχω ένα textbox στο οποίο ορίζω το ποσοστό ΦΠΑ.

    Θέλω όμως να εμφανίζεται με το σύμβολο "%". Όταν όμως υπολογίζω το ΦΠΑ παίρνω μήνυμα "Conversion from string "19,00%" to type 'Integer' is not valid".

    Παραθέτω κώδικα για βοήθεια...

    Στο Load της Φόρμας

    Dim sPosostoFPA as Integer = 0,19

    me.txtPosostoFPA.text = Format(CStr(19),"Percent")

     

    Στο Ypologismos_Button Click

    Dim sPosostoFPA as Integer = CInt(me.txtPosostoFPA)

    sAksia = sKathariAksia * sPosostoFPA

    Εννοείται ότι έχω ορίσει όλες τις μεταβλητές που χρειάζεται ώστε να γίνει ο υπολογισμός.

    Θέλω επίσης να ρωτήσω αν γίνεται και πως να ορίσω μία φορά μεταβλητές σε μία κλάση και να είναι διαθέσιμες σε όλα τα συμβάντα της κλάσης.

    Νομίζω ότι γίνεται έτσι "Public sPosostoFPA as Integer = bla bla" όμως όταν καλώ τη φόρμα από άλλη φόρμα με "FormParagelia.show()" παίρνω μήνυμα λάθους (το οποίο δυστυχώς δεν το έχω μπροστά μου τώρα).

    Ευχαριστώ!


    Μάνος Τ.
  •  03-03-2007, 14:43 25808 σε απάντηση της 25805

    Απ: Μετατροπή string σε integer?

    1) Είναι λογικό να συμβαίνει αυτό, καθώς δεν υπάρχει δυνατότητα να καταλάβει η VB.Net ότι το % δεν ανήκει στον Αριθμό που έσυ σαν άνθρωπος βλέπεις.Πρωτού λοιπόν προσπαθήσεις να το κάνεις cast σε integer θα πρέπει να αφαιρέσεις το % ώστε το cast να είναι επιτυχημένο.

    2) Η γραμμή στην οποία κάνεις sAksia = sKathariAksia * sPosostoFPA δεν θα επιστρέψει την καθαρή αξία ΣΥΝ το ΦΠΑ αλλά την καθαρή αξία ΕΠΙ το ΦΠΑ. Για να δουλέψει σωστά αυτό θα πρέπει να κάνεις sAksia = sKathariAksia + (( sKathariaAksia * sPosostoFPA) / 100)

    3) Οταν δηλώνεις μια μεταβλητή σαν public σημαίνει ότι είναι viewable και ΕΚΤΟΣ class όταν αυτή γίνει instanciate, δηλαδή μπορείς να την προσπελάσεις εκτός της ίδιας της κλάσης.Εάν όμως η class δεν έχει γίνει instanciate τότε παίρνεις μήνυμα λάθους. Εαν δεν θέλεις να παίρνεις μήνυμα λάθους θα πρέπει να την δηλώσεις σαν constant σε μια ξεχωριστή κλάση την οποία δεν θα την κάνεις instanciate για να δεις τις μεταβλητές της, γιατί θα είναι constant.


    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  03-03-2007, 14:52 25811 σε απάντηση της 25805

    Απ: Μετατροπή string σε integer?

    mdtgr:

    Dim sPosostoFPA as Integer = 0,19

    sAksia = sKathariAksia * sPosostoFPA


    εκτός από όλα αυτά που λέει ο Παναγιώτης, μήπως δεν είναι integer αλλά decimal?
    το sPosostoFPA για κοίταξε τι τιμή παίρνει;
  •  03-03-2007, 16:15 25817 σε απάντηση της 25811

    Απ: Μετατροπή string σε integer?

    Ναι το είπα απλά γιατι για να είναι 0,19 δεν μπορεί να είναι integer αλλά decimal όπως πολύ σωστά λες.


    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems